//
//  AppDelegate.m
//  SuperDoctor
//
//  Created by 李忠 on 7/5/16.
//  Copyright © 2016 SD. All rights reserved.
//

#import "SDAppDelegate.h"
#import "JASidePanelController.h"
#import "SDLeftViewController.h"
#import "SDHomeViewController.h"
#import "SDGuideViewController.h"

@interface SDAppDelegate ()

//MARK: 侧滑控制器
@property (nonatomic, strong) JASidePanelController *viewController;

@end

@implementation SDAppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    
    //实例化
    self.viewController = [[JASidePanelController alloc] init];
    
    //左
    self.viewController.leftPanel = [[SDLeftViewController alloc] init];
    //home
    SDHomeViewController *homeVC = [[SDHomeViewController alloc] init];
    
    //右
    self.viewController.centerPanel = [[UINavigationController alloc] initWithRootViewController:homeVC];
    // 2.1获取应用当前的版本号 -> 获取info.plist所有数据, -> 取出版本号
    NSDictionary *info = [NSBundle mainBundle].infoDictionary;
    
    NSString *currentVersion = info[@"CFBundleShortVersionString"];
    
    //    2.2 获取之前存储的版本号
    //    - 获取用户偏好对象
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    //    - 获取之前的版本号
    NSString *oldVersion = [defaults objectForKey:@"app_version"];
    
    //    2.3进行比较
    //    - 两次字符串相同进入主程序
    if ([currentVersion isEqualToString:oldVersion]) {
        
        //显示的view
        self.window.rootViewController = self.viewController;
        
    }else{
        
        //        显示新特性界面
        self.window.rootViewController = [[SDGuideViewController alloc] init];
        
        //        存储
        [defaults setObject:currentVersion forKey:@"app_version"];
        
    }

    
    [self.window makeKeyAndVisible];
    
    
    return YES;
}

- (void)rootControllerChange{
    
    //实例化
    self.viewController = [[JASidePanelController alloc] init];
    
    //左
    self.viewController.leftPanel = [[SDLeftViewController alloc] init];
    //home
    SDHomeViewController *homeVC = [[SDHomeViewController alloc] init];
    
    //右
    self.viewController.centerPanel = [[UINavigationController alloc] initWithRootViewController:homeVC];
    
    [UIApplication sharedApplication].keyWindow.rootViewController = self.viewController;
    
    //    [self.window makeKeyAndVisible];
    
    
}


- (void)applicationWillResignActive:(UIApplication *)application {
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end
